package buber.genetic.interfaces;

import buber.config.Config;
import buber.genetic.op.interfaces.CloneOp;
import buber.genetic.op.interfaces.CrossOp;
import buber.genetic.op.interfaces.MutateOp;
import buber.genetic.op.interfaces.SelectOp;

public interface Algorithm {
	public Population getPopulation();
	public void setPopulation(Population pop);
	public void doAlgorithm();
	public void init();
	public void setCloner(CloneOp cl);
	public void setMutator(MutateOp mu);
	public void setSelector(SelectOp se);
	public void setCrosser(CrossOp cr);
	public void setScore(Score sc);
	public String populationAsString();
	public Member getBest();
	public void config(Config cfg);
}
